package com.dkd.sbtz.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.dkd.common.annotation.Excel;
import com.dkd.common.core.domain.BaseEntity;
import org.apache.ibatis.type.Alias;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 备件库存对象 asset_spare
 * 
 * @author xzj
 * @date 2025-09-03
 */
@Alias("Spare")
@Data
public class Spare extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 自增id */
    private Long id;

    /** 备件编码 */
    @Excel(name = "备件编码")
    private String code;

    /** 备件名称 */
    @Excel(name = "备件名称")
    private String name;


    private Integer isSpecial; // 0 普通 1 特殊

    private Long optId;

    private String unit;

    /** 总库存 */
    @Excel(name = "总库存")
    private Long stockTotal;

    /** 在线库存 */
    @Excel(name = "在线库存")
    private Long stockAvailable;

    @Excel(name = "最低库存")
    private Long minStock;
    @Excel(name = "最高库存")
    private Long maxStock;

    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date planDate;        // 计划日期
    private Integer orderDate;       // 采购周期

    /** 使用状态 */
    @Excel(name = "使用状态")
    private Integer status;       // 0 启用 1 停用

    private String relVendor;    // 厂商
    private String relSpec;      // 规格
    private Integer isPrimary;    // 若表里有就带上
    private String  relRemark;    // 关系备注（可选）
    private java.math.BigDecimal qtyNeed; // 关系数量（可选）
    private Long assetId;


    private Integer hasPlan;

    private String spareClass;
    /** 设备规格 */
    @Excel(name = "设备规格")
    private String specification;

    /** 设备型号 */
    @Excel(name = "设备型号")
    private String model;

    /** 设备材质 */
    @Excel(name = "设备材质")
    private String material;

    private String brand;

    private String manufacturer;


    @Excel(name = "设计温度")
    private String designTemp;

    /** 设备型号 */
    @Excel(name = "设计压力")
    private String designPress;

    /** 设备材质 */
    @Excel(name = "电机功率")
    private String motorPower;


    /** 设备等级 */
    @Excel(name = "设备等级")
    private String grade;

    /** 金额 */
    @Excel(name = "金额")
    private BigDecimal amount;

    /** 金额单位 */
    @Excel(name = "金额单位")
    private String amountUnit;

    private String hash;



}
